package org.linlinjava.litemall.db.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.linlinjava.litemall.db.config.CurrencyDeserializer;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @auth :ply
 * @date 2024/5/17 10:46
 * @Description TODO
 * 配方规格表
 */
@Data
@TableName("lumiere_formula_specifications")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LumiereFormulaSpecifications {

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 配方id
     */
    private Integer formulaId;

    /**
     * 规格名称
     */
    private String specificationsName;

    /**
     * 规格值
     */
    private String specificationsValue;

    /**
     * 规格图片
     */
    private String specificationsImg;

    /**
     * 规格价格
     */
    @JsonDeserialize(using = CurrencyDeserializer.class)
    private BigDecimal specificationsPrice;

    /**
     * 是否默认
     */
    private Boolean isDefault = false;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT) //插入时自动填充
    private LocalDateTime addTime;
    /**
     * 创建人
     */
    private String addUserId;
    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.UPDATE) // 插入 和 更新时 自动填充
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    private String updateUserId;

    /**
     * 是否删除(0否 1是)
     */
    @TableLogic
    private Boolean deleted;


}
